package com.tools.common.exception.service;

import com.tools.common.container.JsonPair;
import com.tools.common.object.Note;

/**
 * 业务操作抛出的异常
 * 此类异常通常要被全局捕获并进行
 * 业务化处理和响应
 * */
@Note("业务操作抛出的异常。" +
        "此类异常通常要被全局捕获并进行业务化处理和响应")
public class ServiceException extends RuntimeException{

    private static final long serialVersionUID = 1446135072700351276L;

    @Note("程序异常时需要返回给客户端的响应数据包装实体")
    private JsonPair response;

    public ServiceException(Throwable e) {
        super(e);
    }

    public ServiceException(String errorMessage) {
        super(errorMessage);
    }

    public ServiceException(JsonPair response) {
        this.response = response;
    }


    public JsonPair getResponse() {
        return response;
    }
}
